iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 16
0
Modern Web

從零開始認識 Node.js系列 第 16

[Day 16] Node.js 必備工具 - NVM 、 NPM

  • 分享至 

  • xImage
  •  

Node Version Manager

Node Version Manager 是 Node.js 版本管理的工具,目前較多人知道有

這邊為以 Tim Caswell - NVM 為介紹主軸。

  • Windows 開發者
    建議安裝 Cmder 、 Babun 等 Terminal 工具,並透過其安裝 NVM ,若找不到相關資料可以看之前 [Day 11] API 尋寶記 - Windows 也要用 Bash + 後繼預告 (1) ,之後的安裝操作既可參考 Linux 。

  • Mac 開發者
    可以透過 Homebrew 安裝,只要下 brew install nvm

  • Linux 開發者
    執行以下其中一個既可

    • curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
    • wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

    將以下內容貼到 ~/.bash_profile~/.bashrc~/.zshrc (Zsh) 三個其中一個檔案中既可,之後啟動 Shell 既載入 NVM ( .bash_profile 與 .bashrc 的差異請參考 Ubuntu 讀取 .bashrc 和 .bash_profile 檔案的時機 )

    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
    

常用指令

指令 說明
nvm install [version] 安裝 Node.js 的 [version] 版本
nvm uninstall [version] 移除 Node.js 的 [version] 版本
nvm ls 列出 Local 所有的 Node.js 版本
nvm ls-remote 列出 Remote 所有的 Node.js 版本
nvm alias default [version] 指令以後預設啟用的 Node.js 版本
nvm use [version] 使用 [version] 版本,但不更改預設啟用的版本

註:也可以透過 .nvmrc (來源) 檔案設定使用的版本,前題是下 nvm 指令沒有指定版本。

Node Package Manager

[Day 11] API 尋寶記 - Windows 也要用 Bash + 後繼預告 (1) 介紹過,這裡以說明指令為主。

  • 來源 NPM:安裝 Node.js 既擁有
  • 來源 Yarn:近期 Facebook 發佈的 NPM
NPM 指令 / Yarn 指令 說明
npm init / yarn init 初始化,會產生 package.json ( 可以參考 官網說明)
npm install / yarn install 安裝 package.json 設定的 packages
npm install [package] / yarn add [package] 安裝 [package] ; NPM 後面加 --save ( Yarn 不必加 ) 、 --save-dev ( Yarn 是 --dev ) 會存入 package.json 裡,加 -g 則安裝到全域 ( Yarn 則是 yarn global add [package] )
npm uninstall [package] / yarn remove [package] 移除 [package] ,後面一樣可以加 --save --save-dev -g
npm update / yarn upgrade 更新 Local 的所有 Packages

註:若想了解更多 package.json 的設定可以到 官網

題外話:你知道 HTTP/2 正式推出

2015 年 5 月 Internet Engineering Task Force (IETF) 正式公表 HTTP/2 ,現在先將相關資料放上來,日後再另開一篇介紹,不過鐵人賽不會出現。

HTTP/2 目前 Browser 的支援度可以參考 這裡 ;HTTP/2 和 Google 的 SPDY 成員是關係的。


上一篇
[Day 15] API 尋寶記 - 現代人離不開的 HTTP
下一篇
[Day 17] 動手篇 - 事前規劃
系列文
從零開始認識 Node.js31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
fillano
iT邦超人 1 級 ‧ 2016-12-16 11:03:37

小小的疑問:

你知道 HTTP/2 正式推出

這一段好像跟其他的內容沒關係?

Ivan Wei iT邦新手 5 級 ‧ 2016-12-16 11:18:47 檢舉

和其他沒有關係 <(_ _)>
修改小標題 (寫到這篇剛好想到 HTTP/2)

我要留言

立即登入留言